package com.example.spidertp.core.model.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;

/**
 * 设置线程池核心参数的入参
 *
 * @author xiong.bo
 * @version 1.0
 * @date 2022/9/17 5:08 下午
 */

@ApiModel("设置线程池核心参数的入参")
@Data
public class SpiderThreadPoolArgsParam {


    /**
     * 线程池名称
     * 为空则是默认的线程池
     */
    @NotEmpty(message = "poolName不能为空")
    @ApiModelProperty("线程池名称,为空则是默认的线程池")
    private String poolName;

    /**
     * 核心线程数
     */
    @ApiModelProperty("核心线程数")
    private int corePoolSize;

    /**
     * 最大线程数
     */
    @ApiModelProperty("最大线程数")
    private int maximumPoolSize;

    /**
     * 空闲线程存活时间
     * 默认单位是SECONDS，秒
     */
    @ApiModelProperty("空闲线程存活时间,默认单位是SECONDS，秒")
    private Long keepAliveTime;

    @ApiModelProperty("拒绝执行策略,有默认的四种，也可以自己新加的类型")
    private String rejectedHandler;

}
